package cn.gov.sdcj.accountancy.entity

import groovy.transform.AutoClone

/**
 * <p>Description: 会计科目辅助核算对象</p>
 *
 * <li>className 为 辅助核算类型名称</li>
 * <li>num 为 辅助核算编码</li>
 * <li>name 为 辅助核算名称</li>
 * <p />
 *
 * Created by laijie on 2015/3/27.
 */
@AutoClone
class Item {
    int voucherId
    int entryId
    String className
    String num
    String name

    def add(Map attributes) {
        attributes.each { it ->
            if (this.hasProperty("$it.key")) {
                // 属性已有则进行连接
                if (this.getProperty(it.key)) {
                    this["$it.key"] += it.value
                } else {
                    this["$it.key"] = it.value
                }
            }
        }
    }

    String toString() {
        String rst = "${className}: ${num}[${name}]"
        return rst
    }

    boolean equals(Object obj) {
        return obj in Item && className == obj.className && num == obj.num && name == obj.name
    }
}
